package string;

public class StrinDeom {
    public static void main(String[] args) {
        String s1="123abc";
        //编译器在编译时,若发现是两个字面量相连,则会直接连接好并将其保存
        //如以下代码会直接编译为String s2="123abc";
        String s2="123"+"abc";
        System.out.println(s1==s2);

        String s=new String("hello");//创建了两个对象

        String s3="123";
        //因为s3是一个变量,所以在编译期并不会直接编译好
        String s4=s3+"abc";//创建一个新对象,保存为123abc
        System.out.println(s1==s4);//false  //比较地址是否相同
        //对比的是地址,二者保存方式不同,所以地址不同,结果为false

       //通常用equals()来判断两个字符串是否相同
        System.out.println(s4.equals(s1));//比较内容是否相同









        /*String s1="abc123";
        String s2="abc123";
        String s3="abc123";
        System.out.println(s1==s2);
        System.out.println(s2==s3);
        s1=s1+"4";
        System.out.println(s1);*/
    }
}
